Jens Petter's profile

Project Wouter & Klaasje

Project Wouter & Klaasje
Voor dit project kregen wij een echte opdrachtgever. Het idee was om een game te maken waardoor een ouder en een kind samen zouden gaan lezen en opdrachten maken. Hierbij leverde de opdrachtgever een boek aan waarin een verhaal in stond. Dat verhaal moest terug komen in de game. Verder waren we geheel vrij in dit project. Wij hadden plus minus ongeveer 6 weken voor dit project. Daarbij telde ik in de week 2,5 dagen (maandag, dinsdag en woensdag) op school en soms een weekend thuis aan werk.
-Brainstormen
Dat we een boek in de game wilden verwerken stond bij iedereen volgens mij al vast in hun hoofd alleen wisten we nog niet hoe we dit boek zouden gaan verwerken in de game. Echter na een wat langere tijd van brainstormen kwamen we op het idee om een interactief boek te maken. Hierbij zou op de linker pagina van het boek tekst komen en op de rechter pagina van het boek een opdracht komen. Deze opdrachten zouden bestaan uit bijvoorbeeld rekenopdrachten, woordopdrachten of topografieopdrachten. De oprdachten zijn op te lossen door objecten te slepen. Standaard zou zijn door bijvoorbeeld bij een som opdracht een nummer in te voegen bij een missend teken maar we wilden het zo hebben dat alles te slepen valt. Elke object wat los in het boek is is ook sleepbaar. Deze opzet (linker pagina tekst en rechter pagina een opdracht) zou door het gehele boek te vinden zijn. De tekst is onderverdeeld in 2 kleuren. Een voor de ouder om te lezen en een voor het kind om te lezen. Deze kleuren kunnen de ouder het kind onderling verdelen. Verder wilden we het boek leuk en magisch laten maken door wat mysterieuze particles erin te voegen.

-Blokken systeem
In het technisch opzicht noemden we deze opdrachten "blokken". Van daaruit ontstond het blokken systeem. Elke opdracht is een blok. Oorspronkelijk was ons doel ook om deze blokken dynamisch te maken zodat de speler zelf haar/zijn eigen boek kan samenstellen voor zijn/haar kind met verschillende opdrachten alleen dat is helaas niet haalbaar geweest.

Wat ik aan het blokken systeem heb mogen doen is ten eerste een stukje opbouw van de blokken maar ten tweede ook de blokken zelf maken. Daniel is begonnen met het woord en letter blok wat ik daarna van hem heb overgenomen. Het letter blok hield in dat de speler een missende letter van een woord moest slepen naar het woord. Bij het woord blok werkte het precies hetzelfde alleen dan met een zin in plaats van een woord. De content van deze woorden en letters hangen af van wat er op die pagina voor tekst is. De tekst in de opdracht hangt dus af van de actieve lees tekst in het boek.
-Interactables
Wat er ook in het boek voorkomen zijn "interactables". Deze spawned het blok wanneer het blok zelf word ge-instantieerd. Deze interactables zijn voorwerpen die gesleept kunnen worden. Dit is bijvoorbeeld om een som op te lossen of om gewoon lekker mee te slepen. Deze heb ik gemaakt. Het is een dynamisch ding dat bij elk voorwerp toegevoegd kan worden wat ervoor zorgt dat er maar een script nodig is. Hierbij wordt gebruikt gemaakt van een rigidbody waarbij daarna op het moment van loslaten een force wordt berekent en toegevoegd waardoor het object een richting op vliegt. 
-GameManager
In de game is er een gamemanager. Deze is een singleton zodat hij altijd makkelijk aan te roepen is binnen de game. Alle function calls met betrekking tot de UI, het boek en de blokken worden via deze manager aangeroepen. Op deze manier staat de gamemanager altijd bovenaan in zijn rang.
-Positions
Voor het instantieeren van objecten hebben we natuurlijk posities nodig. Soms wel meerdere. We hebben onder elkaar besloten om een statische class aan te maken waar alle posities bewaard worden. Op deze manier zijn alle posities veilig bewaard en dat vonden wij prettig.
-Wat heb ik geleerd
Ik heb veel geleerd van dit project. Eerlijk gezegd wist ik niet 100% zeker of ik iets zou gaan leren bij dit project in het begin maar het blijkt dat ik toch wel zeker wat heb geleerd. Persoonlijk had ik nog nooit met meerdere programmeurs aan een project gezeten voor een langer termijn dan een paar dagen. Je merkt dat iedereen zijn eigen programmeer stijl heeft en deze aan wilt houden maar als je juist jezelf kan aanpassen op andere kan je het ver schoppen. Het inzien van andermans code en code-stijl is interessant. Ook het zien hoe iemand anders denkt over een probleem die in de game zit is interessant om te zien. Het met andere programmeurs samen werken. Dat heb ik vooral bij dit project geleerd.
-Wat ging er minder goed
Ik vond het persoonlijk aan de andere kant ook wat aan de moeilijke kant om met 5 programmeurs te werken. Een stuk communicatie is aan deze kant zeer belangrijk want je moet altijd weten wie waar mee bezig is. Je bent als 1 van de 5 programmeurs ook niet constant super hard aan het stressen zoals het eerder wel was met 1 programmeur in een team. Daar moest ik ook wat aan wennen. Waar ik me wel erg aan heb gestoord is het feit dat niet iedereen in ons team een volle 100% doorzettingsvermogen en motivatiepercentage had voor dit project. Er waren dagen waarbij sommigen mensen meer dan 4 uur pauze aan het houden waren. Of gewoon hele dagen zonder iets te zeggen niet waren. Dit was ook vervelend omdat je elk stukje informatie altijd meer dan 2 keer moet zeggen omdat er altijd wel iemand was die er niet was. Ik denk dat dit ook komt omdat het een groot team was en omdat het een groot team is kan je moeilijker iedereen observeren waardoor helaas deze dingen gebeuren.
-Conclusie
Als ik nu terug kijk naar het project vindt ik dat het redelijk is verlopen. Daar ben ik heel eerlijk in. Waar ik het meest van baal is het feit dat mensen vaak weg waren of niet kwamen opdagen. Wel was het dat als iedereen er was iedereen ook vol achter het project stond en dat vindt ik fijn. Ik heb met 5 programmeurs mogen werken en dat is voor mij een heel groot leermoment geweest. Kortom, een redelijk project wat erg leerzaam was.
Project Wouter & Klaasje
Published:

Project Wouter & Klaasje

Published:

Creative Fields